package com.banmajio.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;


/**
 * 志愿者信息(volunteer info)
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class XtVolunteerInfo extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /**
     * 真实姓名
     */
    private String name;

    /**
     *  证件类型：100 内地居民身份证 200 香港居民身份证 300 澳门居民身份证 400 台湾居民身份证  500 护照 600 军官证 700 士兵证 900 其他有效国籍旅行证件
     */
    private Integer idType;

    /**
     * 证件号码
     */
    private String idNumber;

    /**
     * 证件图片
     */
    private String idImg;

    /**
     * 性别 1 - 男性 2 - 女性
     */
    private Integer sex;

    /**
     * 国籍(GB/T 2659)
     */
    private String nationality;

    /**
     * 出生日期
     */
    private String dateOfBirth;

    /**
     * 手机
     */
    private String mobile;

    /**
     * 是否公开展示志愿经历
     */
    private Boolean isPublicVolunteerExperience;

    /**
     * 服务区域 中华人民共和国乡镇行政区划简册 单选
     */
    private String serviceArea;

    /**
     * 服务方式 1-集中定点 2-综合包户 3-预约上门 9-其他
     */
    private Integer serviceMode;

    /**
     * 累计志愿服务时间,以小时为单位
     */
    private Long totalServiceHour;

    /**
     * 累计培训时间,以小时为单位
     */
    private Long totalTrainingHour;

    /**
     * 服务类别, 多个逗号分割; 赛会服务;平安综治;应急救援;疫情防控;助老服务;助残服务;关爱服务;生态环保;垃圾分类;交通文明;礼让行人;乡村振兴;社区服务;卫生健康;科普服务;文旅服务;国际服务;其他服务
     */
    private String serviceCategory;

    /**
     * 服务领域, 多个逗号分割; 疫情防控志愿者;扶贫济困志愿者;垃圾分类志愿者;社区志愿者;青年志愿者;文化志愿者;医疗志愿者;教育志愿者;助残志愿者;巾帼志愿者;消防志愿者;红十字志愿者;治安志愿者-由首都综治办发起，主要开展治安巡逻的志愿者;网络文明志愿者-由首都文明办发起，开展网络文明的志愿者;管城理市志愿者-由城管委发起，从事城市管理志愿服务的志愿者;应急志愿者-由市应急办发起，开展应急宣教和救援的志愿者;红十字志愿者-由市红十字会发起，开展红十字志愿服务的志愿者;旅游志愿者-由市旅游委发起，在各旅游景点开展志愿服务的志愿者;博物馆志愿者-由市文物局发起，在各博物馆开展义务讲解的志愿者;保护知识产权志愿者-由市知识产权局发起，开展保护知识产权宣教的志愿者;节水护水志愿者-由市水务局发起，以保护水资源为主的志愿者;科普志愿者-由市科协发起，主要开展科普宣教的志愿者
     */
    private String serviceDomain;

    /**
     * 登录账号/用户名
     */
    private String username;

    /**
     * 密码
     */
    private String password;

    /**
     * 盐
     */
    private String salt;

    /**
     * 状态 是否认证通过
     */
    private Integer status;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 邮件
     */
    private String email;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 电话
     */
    private String telephone;

    /**
     * 志愿者统一编号
     */
    private String unifiedCode;

    /**
     * 推荐人姓名
     */
    private String referral;

    /**
     * 推荐人统一编号
     */
    private String referralUnifiedCode;

    /**
     * 星级
     */
    private Integer volunteerStarLevel;

    /**
     * 评分
     */
    private BigDecimal score;

    /**
     * 禁止状态  0禁用  1正常
     */
    private Integer tabooStatus;

    /**
     * 民族
     */
    private String nation;

    /**
     * 地址
     */
    private String address;

    /**
     * 签发机关
     */
    private String issuingOrganization;

    /**
     * 有效期限开始
     */
    private String startDate;

    /**
     * 有效期限结束
     */
    private String expiryDate;

    /**
     * 政治面貌
     */
    private String politicsStatus;

    /**
     * 第一服务领域或行业
     */
    private String firstLevelServiceField;

    /**
     * 第二服务领域或行业
     */
    private String secondLevelServiceField;

    /**
     * 展示的服务时长
     */
    private String showServiceHour;

    private String areaPath;
    
    private String wxMiniOpenid;

    private String wxOfficialOpenid;

    private String unionId;

    private Integer validPeriod;

    private Integer isIdChanged;

    private Integer volunteerType;

    private String placePreference;
    
    private String placePath;

   private Integer deletionStatus;
}
